package com.ls.controller.booking.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalTime;
import java.util.List;

/**
 * @ClassName TodayBookingVo
 * @Description 可预定列表app端数据vo
 * @Author pengyu
 * @Date 2024/7/25 17:14
 * @Version 1.0
 **/
@Data
public class TodayBookingVo {
    private Long seatingId;
    private String seatingName;
    private List<BoothSchedule> boothLists;
    /**早上可预定数*/
    private Integer morningNum;
    /**中午可预定数*/
    private Integer noonNum;
    /**下午可预定数*/
    private Integer afternoonNum;
    /**晚上可预定数*/
    private Integer eveningNum;
    /**
     * 排序
     */
    private Integer seatingIndex;

    @Data
    public static class BoothSchedule {
        private Long boothId;
        private String boothName;
        /**
         * 卡座可坐人数
         */
        private Integer boothNum;
        /**
         * 卡座特色
         */
        private String boothRemark;
        /**卡座时段*/
        private List<TimeSlot> timeSlots;
        /**
         * 排序
         */
        private Integer boothIndex;
    }

    @Data
    public static class TimeSlot {
        /**预定时段 1早餐，2午餐，3下午茶，4晚餐*/
        private Integer timeId;
        private Long linkmanId;
        private String linkmanName;
        private String linkmanPhone;
        /**预计到店时间*/
        @JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
        @JSONField(format = "HH:mm:ss")
        private LocalTime arrivalTime;
        private Long bookingId;
        /**是否可以预定 0被预定了，1可预定，-1已过期*/
        private Integer available;
        /**预定状态 1已预定，2已修改，3已到店，4已完成，5已取消*/
        private Integer bookingStatus;
        /**到店状态 只有bookingStatus状态为1或者2时有效，1为正常，2为临近未到店，3为超时未到店,4已经到店*/
        private Integer arriveStatus;

    }
}
